package com.yst.gateway.monitor.common.base;

import java.util.List;
import java.util.Map;
import com.github.pagehelper.PageInfo;

/**
 * 业务接口基类
 * @author sheungxin
 *
 * @param <T>
 */
public interface BaseService<T> {
	
	/**
	 * 分页查询数据信息
	 * @param pageNum
	 * @param pageSize
	 * @param paramMap
	 * @return
	 */
	public PageInfo<T> getByPage(int pageNum, int pageSize,Map<String, Object> paramMap);
	
	/**
	 * 添加一条记录
	 * @param t
	 * @return
	 */
	public boolean add(T t);
	
	/**
	 * 更新一条记录
	 * @param t
	 * @return
	 */
	public boolean update(T t);
	
	/**
	 * 通过主键查询一条数据
	 * @param id
	 * @return
	 */
	public T getById(String id);
	
	/**
	 * 查询数据列表
	 * @param paramMap 过滤条件
	 * @return
	 */
	public List<T> getByMap(Map<String, Object> paramMap);
	
	/**
	 * 更新数据状态
	 * @param id 主键id
	 * @return
	 */
	public boolean updateStatusById(String id);
	
	/**
	 * 根据主键删除数据(通常进行逻辑删除)
	 * @param id 主键id
	 * @return
	 */
	public boolean delById(String id);

}
